package org.gingresosapi.persistencia;

import org.gingresosapi.beans.Recibosdetalles;
import java.sql.Date; 
import org.gingresosapi.beans.*;
import org.gingresosapi.controller.*;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
import java.util.*;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.util.Map;
import java.util.Iterator;
import java.util.HashMap;
import java.util.Map;
 import javax.sql.DataSource;
import org.gingresosapi.generales.Mensajeria;
import org.gingresosapi.generales.DataGManager;


/**
*
* @author
*/

public class RecibosdetallesPersistencia implements Serializable {
private static final long serialVersionUID = 1L;
public static Exception excepcion;
public static boolean esMensaje = false;
public static Connection con = null;
public static java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/gingresosapi/properties/mensajes");
static DataGManager dataGManager;
static List<Recibosdetalles> list;

public RecibosdetallesPersistencia(){
         esMensaje =false;
}


/**
*
* insert()
*/

public static boolean insert (Recibosdetalles recibosdetalles ) {
  excepcion = null;
  try {
      esMensaje =false;
   
   
   

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pinsert = null;
      String sql = "insert into recibosdetalles(idrecibo,anio,idmunicipio,idregimen,valor,cantidad,pago,exoneracion,esrecargo,saldo,saldoanterior,comentario,estatus,periodo,solomorosidad,numeropagina,fecha,anulado)  values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
      pinsert = con.prepareStatement(sql);
              pinsert.setInt(1,recibosdetalles.getIdrecibo());
        pinsert.setInt(2,recibosdetalles.getAnio());
        pinsert.setString(3,recibosdetalles.getIdmunicipio());
        pinsert.setString(4,recibosdetalles.getIdregimen());
        pinsert.setDouble(5,recibosdetalles.getValor());
        pinsert.setInt(6,recibosdetalles.getCantidad());
        pinsert.setDouble(7,recibosdetalles.getPago());
        pinsert.setDouble(8,recibosdetalles.getExoneracion());
        pinsert.setString(9,recibosdetalles.getEsrecargo());
        pinsert.setDouble(10,recibosdetalles.getSaldo());
        pinsert.setDouble(11,recibosdetalles.getSaldoanterior());
        pinsert.setString(12,recibosdetalles.getComentario());
        pinsert.setString(13,recibosdetalles.getEstatus());
        pinsert.setString(14,recibosdetalles.getPeriodo());
        pinsert.setDouble(15,recibosdetalles.getSolomorosidad());
        pinsert.setInt(16,recibosdetalles.getNumeropagina());
        pinsert.setDate(17,recibosdetalles.getFecha());
        pinsert.setString(18,recibosdetalles.getAnulado());
      int filas= pinsert.executeUpdate();
      pinsert.close();
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
 }


/**
*
* update()
*/

public static boolean update(Recibosdetalles recibosdetalles ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update recibosdetalles set  idrecibo=?, anio=?, idmunicipio=?, idregimen=?, valor=?, cantidad=?, pago=?, exoneracion=?, esrecargo=?, saldo=?, saldoanterior=?, comentario=?, estatus=?, periodo=?, solomorosidad=?, numeropagina=?, fecha=?, anulado=?  where  idrecibo ='"+recibosdetalles.getIdrecibo()+"' and  anio ='"+recibosdetalles.getAnio()+"' and  idmunicipio ='"+recibosdetalles.getIdmunicipio()+"' and  idregimen ='"+recibosdetalles.getIdregimen()+"' and  esrecargo ='"+recibosdetalles.getEsrecargo()+"'  ";
      pupdate= con.prepareStatement(sql);
      pupdate.setInt(1,recibosdetalles.getIdrecibo());
pupdate.setInt(2,recibosdetalles.getAnio());
pupdate.setString(3,recibosdetalles.getIdmunicipio());
pupdate.setString(4,recibosdetalles.getIdregimen());
pupdate.setDouble(5,recibosdetalles.getValor());
pupdate.setInt(6,recibosdetalles.getCantidad());
pupdate.setDouble(7,recibosdetalles.getPago());
pupdate.setDouble(8,recibosdetalles.getExoneracion());
pupdate.setString(9,recibosdetalles.getEsrecargo());
pupdate.setDouble(10,recibosdetalles.getSaldo());
pupdate.setDouble(11,recibosdetalles.getSaldoanterior());
pupdate.setString(12,recibosdetalles.getComentario());
pupdate.setString(13,recibosdetalles.getEstatus());
pupdate.setString(14,recibosdetalles.getPeriodo());
pupdate.setDouble(15,recibosdetalles.getSolomorosidad());
pupdate.setInt(16,recibosdetalles.getNumeropagina());
pupdate.setDate(17,recibosdetalles.getFecha());
pupdate.setString(18,recibosdetalles.getAnulado());
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* update()
*/

public static boolean update(String sqlupdate ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update  recibosdetalles set " + sqlupdate +"";
      pupdate= con.prepareStatement(sql);
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* updatePrimaryKey()
*/

public static boolean updatePrimaryKey(Recibosdetalles recibosdetalles_old , Recibosdetalles recibosdetalles) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update recibosdetalles set  idrecibo=? ,  anio=? ,  idmunicipio=? ,  idregimen=? ,  esrecargo=?  where  idrecibo ='"+recibosdetalles_old.getIdrecibo()+"' and  anio ='"+recibosdetalles_old.getAnio()+"' and  idmunicipio ='"+recibosdetalles_old.getIdmunicipio()+"' and  idregimen ='"+recibosdetalles_old.getIdregimen()+"' and  esrecargo ='"+recibosdetalles_old.getEsrecargo()+"'  ";
      pupdate= con.prepareStatement(sql);
      pupdate.setInt(1,recibosdetalles.getIdrecibo());pupdate.setInt(2,recibosdetalles.getAnio());pupdate.setString(3,recibosdetalles.getIdmunicipio());pupdate.setString(4,recibosdetalles.getIdregimen());pupdate.setString(9,recibosdetalles.getEsrecargo());
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(Recibosdetalles recibosdetalles ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from recibosdetalles  where  idrecibo = ? and  anio = ? and  idmunicipio = ? and  idregimen = ? and  esrecargo = ?  ";
      pdelete= con.prepareStatement(sql);
      pdelete.setInt(1,recibosdetalles.getIdrecibo());
pdelete.setInt(2,recibosdetalles.getAnio());
pdelete.setString(3,recibosdetalles.getIdmunicipio());
pdelete.setString(4,recibosdetalles.getIdregimen());
pdelete.setString(9,recibosdetalles.getEsrecargo());
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(String sqldelete ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from recibosdetalles where " + sqldelete +"";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* deleteAll()
*/

public static boolean deleteAll() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from recibosdetalles  ";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodeleteall"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* exists()
*/



public static boolean exists(Recibosdetalles recibosdetalles) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      String sql = "select * from recibosdetalles where idrecibo='"+recibosdetalles.getIdrecibo()+"' and anio='"+recibosdetalles.getAnio()+"' and idmunicipio='"+recibosdetalles.getIdmunicipio()+"' and idregimen='"+recibosdetalles.getIdregimen()+"' and esrecargo='"+recibosdetalles.getEsrecargo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +" " + bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return false;
   }
    rs.close();
    psquery.close();
 return true;
} catch (Exception ex) {
      excepcion = ex;
}
  return false;
}


/**
*
* findByPrimaryKey()
*/



public static Recibosdetalles findByPrimaryKey(Recibosdetalles recibosdetalles) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
      String sql = "select * from recibosdetalles where idrecibo='"+recibosdetalles.getIdrecibo()+"' and anio='"+recibosdetalles.getAnio()+"' and idmunicipio='"+recibosdetalles.getIdmunicipio()+"' and idregimen='"+recibosdetalles.getIdregimen()+"' and esrecargo='"+recibosdetalles.getEsrecargo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
            
            
            recibosdetalles.setIdrecibo(rs.getInt("idrecibo"));
recibosdetalles.setAnio(rs.getInt("anio"));
recibosdetalles.setIdmunicipio(rs.getString("idmunicipio"));
recibosdetalles.setIdregimen(rs.getString("idregimen"));
recibosdetalles.setValor(rs.getDouble("valor"));
recibosdetalles.setCantidad(rs.getInt("cantidad"));
recibosdetalles.setPago(rs.getDouble("pago"));
recibosdetalles.setExoneracion(rs.getDouble("exoneracion"));
recibosdetalles.setEsrecargo(rs.getString("esrecargo"));
recibosdetalles.setSaldo(rs.getDouble("saldo"));
recibosdetalles.setSaldoanterior(rs.getDouble("saldoanterior"));
recibosdetalles.setComentario(rs.getString("comentario"));
recibosdetalles.setEstatus(rs.getString("estatus"));
recibosdetalles.setPeriodo(rs.getString("periodo"));
recibosdetalles.setSolomorosidad(rs.getDouble("solomorosidad"));
recibosdetalles.setNumeropagina(rs.getInt("numeropagina"));
recibosdetalles.setFecha(rs.getDate("fecha"));
recibosdetalles.setAnulado(rs.getString("anulado"));
    }
    rs.close();
    psquery.close();
 return recibosdetalles;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByIdrecibo()
*/

public static List<Recibosdetalles> findByIdrecibo(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where idrecibo='"+recibosdetalles.getIdrecibo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByAnio()
*/

public static List<Recibosdetalles> findByAnio(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where anio='"+recibosdetalles.getAnio()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByIdmunicipio()
*/

public static List<Recibosdetalles> findByIdmunicipio(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where idmunicipio='"+recibosdetalles.getIdmunicipio()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByIdregimen()
*/

public static List<Recibosdetalles> findByIdregimen(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where idregimen='"+recibosdetalles.getIdregimen()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByValor()
*/

public static List<Recibosdetalles> findByValor(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where valor='"+recibosdetalles.getValor()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByCantidad()
*/

public static List<Recibosdetalles> findByCantidad(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where cantidad='"+recibosdetalles.getCantidad()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByPago()
*/

public static List<Recibosdetalles> findByPago(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where pago='"+recibosdetalles.getPago()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByExoneracion()
*/

public static List<Recibosdetalles> findByExoneracion(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where exoneracion='"+recibosdetalles.getExoneracion()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByEsrecargo()
*/

public static List<Recibosdetalles> findByEsrecargo(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where esrecargo='"+recibosdetalles.getEsrecargo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findBySaldo()
*/

public static List<Recibosdetalles> findBySaldo(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where saldo='"+recibosdetalles.getSaldo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findBySaldoanterior()
*/

public static List<Recibosdetalles> findBySaldoanterior(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where saldoanterior='"+recibosdetalles.getSaldoanterior()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByComentario()
*/

public static List<Recibosdetalles> findByComentario(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where comentario='"+recibosdetalles.getComentario()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByEstatus()
*/

public static List<Recibosdetalles> findByEstatus(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where estatus='"+recibosdetalles.getEstatus()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByPeriodo()
*/

public static List<Recibosdetalles> findByPeriodo(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where periodo='"+recibosdetalles.getPeriodo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findBySolomorosidad()
*/

public static List<Recibosdetalles> findBySolomorosidad(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where solomorosidad='"+recibosdetalles.getSolomorosidad()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByNumeropagina()
*/

public static List<Recibosdetalles> findByNumeropagina(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where numeropagina='"+recibosdetalles.getNumeropagina()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByFecha()
*/

public static List<Recibosdetalles> findByFecha(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where fecha='"+recibosdetalles.getFecha()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByAnulado()
*/

public static List<Recibosdetalles> findByAnulado(Recibosdetalles recibosdetalles,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
      String sql = "select * from recibosdetalles where anulado='"+recibosdetalles.getAnulado()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* locateByParameters()
*/

public static List<Recibosdetalles> locateByParameters(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Recibosdetalles>();
  String sql = "select * from recibosdetalles";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      int i = 0;
      while (it.hasNext()) {
          if (i != 0){
            sb.append(" and ");
         }
         i++;
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"= '"+  e.getValue()+"'");
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* Double fFunc(String funcion, String campo)
*/



public static Double func(String funcion, String campo) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from recibosdetalles";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
} catch (Exception ex) {
      excepcion = ex;
}
  return 0.0;
}


/**
*
* Double func(String funcion, String campo,String where)
*/



public static Double func(String funcion, String campo, String where) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from recibosdetalles where "+where +" ";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
} catch (Exception ex) {
      excepcion = ex;
}
  return 0.0;
}


/**
*
* count()
*/



public static Integer count() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from recibosdetalles";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
   rs.beforeFirst();
   while (rs.next()) {
    x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
} catch (Exception ex) {
      excepcion = ex;
}
  return 0;
}


/**
*
* count(String sqlquery)
*/



public static Integer count(String sqlquery) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from recibosdetalles where  " + sqlquery +"";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
   rs.beforeFirst();
   while (rs.next()) {
    x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
} catch (Exception ex) {
      excepcion = ex;
}
  return 0;
}


/**
*
* query()
*/

public static List<Recibosdetalles> query(String query,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<Recibosdetalles>();
  String sql = "select * from recibosdetalles where " + query +"";
  if (query == null || query.equals("")) {
  return null;
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* getListRecords()
*/

public static List<Recibosdetalles> getListRecords(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
      list = new ArrayList<Recibosdetalles>();
  String sql = "select * from recibosdetalles";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      while (it.hasNext()) {
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"="+  e.getValue());
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "recibosdetalles" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
       
        Recibosdetalles recibosdetalles2 = new Recibosdetalles(
         rs.getInt("idrecibo"),rs.getInt("anio"),rs.getString("idmunicipio"),rs.getString("idregimen"),rs.getDouble("valor"),rs.getInt("cantidad"),rs.getDouble("pago"),rs.getDouble("exoneracion"),rs.getString("esrecargo"),rs.getDouble("saldo"),rs.getDouble("saldoanterior"),rs.getString("comentario"),rs.getString("estatus"),rs.getString("periodo"),rs.getDouble("solomorosidad"),rs.getInt("numeropagina"),rs.getDate("fecha"),rs.getString("anulado"));
            
            
       list.add(recibosdetalles2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
 }


}
